package com.inei.cie;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.StrictMode;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

import com.inei.cie.servicios.ServicioINEI;
import com.inei.cie.utilitarios.Variables;

public class Envio_Datos_Activity extends Activity implements OnClickListener{

	private TextView tvLocal;
	private Bundle b;
	private Variables var;
	private Button butEnviar;
	private Button butReenviar;
	private ServicioINEI servicioInei;
	

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.envio_datos);
		IniciarComponentes();
	}

	public void IniciarComponentes() {
		StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
		StrictMode.setThreadPolicy(policy); 
		var = new Variables();
		b = getIntent().getExtras();
		setTitle("Envio de Datos");
		servicioInei = new ServicioINEI();
		tvLocal = (TextView) findViewById(R.id.tvLocal);
		tvLocal.setText("Local Nro. " + b.getString(var.ID_LOCAL));
		butEnviar = (Button)findViewById(R.id.butEnviar);
		butReenviar = (Button)findViewById(R.id.butReenviar);
		butEnviar.setOnClickListener(this);
		butReenviar.setOnClickListener(this);
		Object o = butEnviar.getTag();
		if(o != null){
			if(butEnviar.getTag().equals(3)){
				butEnviar.setEnabled(false);
				butReenviar.setEnabled(true);
			} else{
				butEnviar.setEnabled(true);
				butEnviar.setEnabled(false);
			}
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.menu_atras, menu);
		menu.removeItem(R.id.mnAtras);
		menu.removeItem(R.id.mnAdelante);
		return super.onCreateOptionsMenu(menu);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.mnSalir:
			AlertDialog.Builder dialogo1 = new AlertDialog.Builder(this);
			dialogo1.setTitle("Importante");
			dialogo1.setMessage("Deseas Salir?");
			dialogo1.setIcon(android.R.drawable.ic_dialog_alert);
			dialogo1.setCancelable(false);
			dialogo1.setPositiveButton("Si",
				new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialogo1, int id) {
						System.exit(0);
					}
				});

			dialogo1.setNegativeButton("No",
					new DialogInterface.OnClickListener() {
						public void onClick(DialogInterface dialogo1, int id) {
							return;
						}
					});
			dialogo1.show();
			break;
		case R.id.mnMarco:

			Intent irCarga = new Intent(this, Carga_Trabajo_Activity.class);
			irCarga.putExtras(b);
			startActivity(irCarga);
			finish();
			break;

		default:
			break;
		}
		return super.onOptionsItemSelected(item);
	}

	@Override
	public void onBackPressed() {
		Intent irCarga = new Intent(this, Carga_Trabajo_Activity.class);
		irCarga.putExtras(b);
		startActivity(irCarga);
		finish();
	}

	@Override
	public void onClick(View v) {
		String tokenObtenido = "";
		if(servicioInei.existeToken(b.getString(var.DNI), 
				b.getString(var.CODIGO_PATRIMONIAL), Envio_Datos_Activity.this).equals("")){
			TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
			tokenObtenido = servicioInei.actualizarToken(telephonyManager.getDeviceId(), b.getString(var.DNI), 
					b.getString(var.CODIGO_PATRIMONIAL), Envio_Datos_Activity.this);
			/*tokenObtenido = servicioInei.actualizarToken("87654321", b.getString(var.DNI), 
					b.getString(var.CODIGO_PATRIMONIAL), Envio_Datos_Activity.this);*/
		} else{
			tokenObtenido = servicioInei.tokenGuardado(b.getString(var.DNI), 
					b.getString(var.CODIGO_PATRIMONIAL), Envio_Datos_Activity.this);
		}
		Log.i("TOKEN", tokenObtenido);
		switch(v.getId()){
		case R.id.butEnviar:
			//CARATULA
			servicioInei.envioDatosCaratula(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO I
			servicioInei.envioDatosCapitulo1(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO II
			servicioInei.envioDatosCapitulo2(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO III
			servicioInei.envioDatosCapitulo3(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO IV
			servicioInei.envioDatosCapitulo4(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO V
			servicioInei.envioDatosCapitulo5(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO VI
			servicioInei.envioDatosCapitulo6(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO VII
			servicioInei.envioDatosCapitulo7(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO VIII
			servicioInei.envioDatosCapitulo8(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO IX
			servicioInei.envioDatosCapitulo9(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			butEnviar.setEnabled(false);
			butEnviar.setTag(3);
			
			break;
			
		case R.id.butReenviar:
			//CARATULA
			servicioInei.reenvioDatosCaratula(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO I
			servicioInei.reenvioDatosCapitulo1(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO II
			servicioInei.reenvioDatosCapitulo2(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO III
			servicioInei.reenvioDatosCapitulo3(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO IV
			servicioInei.reenvioDatosCapitulo4(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO V
			servicioInei.reenvioDatosCapitulo5(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO VI
			servicioInei.reenvioDatosCapitulo6(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO VII
			servicioInei.reenvioDatosCapitulo7(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO VIII
			servicioInei.reenvioDatosCapitulo8(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			//CAPITULO IX
			servicioInei.reenvioDatosCapitulo9(b.getString(var.ID_LOCAL), tokenObtenido, Envio_Datos_Activity.this);
			
			break;
		}
	}
}
